package com.zhongxiangspace.service;

import com.zhongxiangspace.entity.ArticleType;
import com.zhongxiangspace.entity.Articles;
import com.zhongxiangspace.entity.QueryAnalyzer;

import java.util.List;
import java.util.Map;

/**
 * 文章
 */
public interface ArticleService {
    /**
     * 查询分类
     * @return
     * @param state
     */
    List<ArticleType> queryType(Integer state);

    /**
     * 添加文章分类
     * @param articleType
     * @return
     */
    boolean articleTypeAdd(ArticleType articleType);

    /**
     * 查询单条类型data
     * @param id
     * @return
     */
    ArticleType queryTypeOne(Integer id);

    /**
     * 更新状态
     * @param articleType
     * @return
     */
    boolean updataStatusCode(ArticleType articleType);

    /**
     * 逻辑删除
     * @param id
     * @return
     */
    boolean delete(Integer id);

    /**
     * 更新类型
     * @param articleType
     * @return
     */
    boolean updataType(ArticleType articleType);

    /**
     * 插入文章内容
     * @param articles
     * @return
     */
    boolean insertArticles(Articles articles);

    /**
     * 文章信息
     * @param queryAnalyzer
     * @return
     */
    List<Map<String,Object>> articlesAll(QueryAnalyzer queryAnalyzer);

    /**
     * 逻辑删除文章
     * @param id
     * @return
     */
    boolean deleteDetails(Integer id);

    /**
     * 获取单条文章data
     * @param id
     * @return
     */
    Articles queryOne(Integer id);

    /**
     * 是否热门
     * @param articles
     * @return
     */
    boolean updataStateHot(Articles articles);

    /**
     * 上下线
     * @param articles
     * @return
     */
    boolean updataStates(Articles articles);

    /**
     * 更新文章
     * @param articles
     * @return
     */
    boolean updataDetails(Articles articles);

    /**
     * 获取文章
     * @param articleQueryAnalyzer
     * @return
     */
    List<Map<String,Object>> queryArticles(QueryAnalyzer articleQueryAnalyzer);

    /**
     * 上篇文章
     * @param id
     * @return
     */
    Articles queryOneUP(Integer id);

    /**
     * 下片文章
     * @param id
     * @return
     */
    Articles queryOneDOWN(Integer id);
}
